package com.example.us111;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private TextView textViewUserInfo;
    private EditText editTextName;
    private Button buttonSave;
    private TextView textViewMessage;

    private String userName = "张三"; // 用户姓名状态

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 初始化控件
        initViews();

        // 显示初始用户名
        updateUIWithCurrentUser();

        // 设置保存按钮点击事件
        buttonSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                handleSaveButtonClick();
            }
        });
    }

    // 初始化视图控件
    private void initViews() {
        textViewUserInfo = findViewById(R.id.textViewUserInfo);
        editTextName = findViewById(R.id.editTextName);
        buttonSave = findViewById(R.id.buttonSave);
        textViewMessage = findViewById(R.id.textViewMessage);
    }

    // 处理保存按钮点击逻辑
    private void handleSaveButtonClick() {
        String newName = editTextName.getText().toString().trim();
        if (newName.isEmpty()) {
            showMessage("姓名不能为空");
        } else {
            updateUserName(newName); // 更新业务逻辑
            updateUIWithCurrentUser();
            showMessage("修改成功");
        }
    }

    // -------------------- 以下是供单元测试调用的业务逻辑方法 --------------------
    /**
     * 更新用户名（业务逻辑）
     */
    public void updateUserName(String newName) {
        if (!newName.isEmpty()) {
            userName = newName;
        }
    }

    /**
     * 获取当前用户名（供测试验证）
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 格式化用户名（示例工具方法）
     */
    public static String formatUserName(String input) {
        if (input == null || input.trim().isEmpty()) {
            return "";
        }
        String trimmed = input.trim();
        return trimmed.substring(0, 1).toUpperCase() + trimmed.substring(1).toLowerCase();
    }

    // -------------------- 以下是UI更新方法 --------------------
    private void updateUIWithCurrentUser() {
        textViewUserInfo.setText("用户姓名: " + userName);
    }

    private void showMessage(String message) {
        textViewMessage.setText(message);
        textViewMessage.setVisibility(View.VISIBLE);
    }
}